{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "6d757af9-253d-470b-9cd8-cb9ca0cfc56a",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "x,y=load_iris().data[:,2:4],load_iris().target\n",
    "x_train,x_test,y_train,y_test=train_test_split(x,y,random_state=1,test_size=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "8888cbff-6307-4459-8885-9e56a9c558e8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "模型预测准确率 0.98\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.metrics import accuracy_score \n",
    "model=LogisticRegression()\n",
    "model.fit(x_train,y_train)\n",
    "ac=accuracy_score(y_test,model.predict(x_test))\n",
    "print('模型预测准确率',ac)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "8d793224-c0e4-44fb-93fb-819148137544",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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dc8BnPu9t9v7gB5VQHleBZyZM2dqz549cjqdbre5++67NXYsczgAsLAePUofEK6MzVb6fU22P4cnozj0qALK87qb+GuvvaZ77rlHx44dkySNHTtWU6ZMUXp6ulasWKHevXsrPz8/IMUCQEi48srSt5/ODS1lb0VdeWXNtq9EdSGHHlVAeT49g/Pdd98pPj5ekrR48WLFxsYqLi5OcXFxkuSaEwcALCk2tvTV7muukZKSSoNKUlLpcmWvfHu7vQ/CpUfV/35N+G07wB2v5sFp06aN7r77bk2fPl133HGHJGnt2rXavn27vvjiC0lSXl6ebrnllpAbxWEeHIQ65sKBJ6zQxoGZjOENX+fB8fg18RUrVqigoEAtW7ZUdHS0OnToIMMwtHbtWknSo48+qp9//lk2m02jR4/2/goAANWyQq8qwguCwaMRnH/9618aNWqU4uPj9fPPPys1NVX79++XJF1yySVKS0vTRRddpLvuukspKSken/zEiRO6/PLLtWbNGrXwYMrKgQMHatmyZa7l3r1769NPP/XoXIzgINQxggNP7MlO1pvRd1ZYf+JE6YTJsbHSeedV3I9REYSrgI7gDBgwQH379tXvf/97zZs3T7m5uXr00UcllfanSktL05dffqlLLrlEGRkZuv/++6s95vHjxzVw4EAdOHDA42I3b96sHTt2qFmzZpKk6Ohoj/cFAK/7R1Vl/37phRek4uJf10VFSf/3f6X9CM49R/fu0vr13p3b4ZAWLJD27pUMQ3vURr/R975du+jvhMjiUcA5u2lmrVq1ZLPZFBcXp7LBn1GjRmnUqFHas2ePevbsqUsuuUT9+vWr8phDhw7V0KFDtWHDBo8KPXz4sAzDUIcOHTzaHgDKqawflN0urVgh7djh3cO++/dLz1byVlNxsTRnTvl1dru0fLn06ael33t6bodDeuwxqajItSpPNXtQuKrnXgCr8eotKpvNpjvuuEOJiYkaN26c/v73v+vw4cO66667dNddd2np0qWaMmWKnnzyyWqP9dJLL3k1X86mTZt05swZNWvWTAkJCRo6dKhycnK8KR9AJPNnP6gXXvD+/EVF3p17wYJy4QaAd3x6TXzgwIE6ceKEJOmhhx7SFVdcoa5du6pVq1a67rrr9NVXXyk3N7fKY7Rs2dKrc37//ffq0qWLVq5cqczMTB04cEBTpkxxu73T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o0cPLViwQLm5uXI6nRUa6sbGxpbrN/ff//5X119/vTp37qyGDRtWqPOZZ57RjBkzyh2noKBAhYWFWr58uSSpqKhI+fn5+uWXX1S7du1A/LgA+BEBB0DAtGzZUrm5ua7ltLQ0PfDAA/rTn/4kSWrYsKFWrlypDh06uLbZuHGj3n//fcXHx2vZsmWqX7++mjdvrvj4eF122WU6ceKEfv/73ysqKkpnzpxRSUmJNm7c6LaG7Oxs9e3bVz169NBrr71WaQPS4uJi3XjjjXrxxRdVWFioJUuWaOjQoYqKipLT6dTLL7+skSNHRkSTQ8AquEUFIGjuvvtuXX311ZKk3NxcLV26VC1btiy3TYcOHXT48GE99thjOnr0qBITE13f1a5dW3379tV5552nDz/8UC1bttRjjz3m9nzff/+9fve736lbt256/fXXq+yubrPZXKM2t99+u2vbM2fOaMyYMSopKdHp06drcvkAgoiAAyAoVq9erb/+9a+uWz5PPPGEli9frvj4eJ0+fVqffPKJpNLO75dccolWrVqlo0ePqk+fPq5O8DExMSosLNS1116rFStWaNeuXerTp48kyel06uTJkzp9+rSKi4tVUlKixMRE3XbbbXr22WfldDp1+vRpnT59WqdOnXJ1mpdKn++Jjo5W37591b17d0lS586d1alTJ9dy165d1blzZ+Xl5QXtZwbAd9yiAhBw33zzjW688UZlZGTotttukyTX8y7FxcW6/fbbtW3bNn355ZfasGGDli9frjfeeENnzpzRc889p/r168swDCUkJOjtt9/Wjh07VFBQ4HqGZ8WKFZo7d64mTZqkmJgYFRUVqaSkRP/+979VXFysRx99VHFxca56ioqK1Lt3b3388ceSpNOnTys2Nlbr1q3TqVOnlJCQoHfeeUeSVFhYqPbt22vLli1VjgABCC381wogoD766CP169dPMTExat++fbnvyh7+PXnypDIzM9W4cWPdcMMN+vLLL1WvXj3t3LlTo0ePdj370qhRI3Xt2lUbN25Uv379NGvWLK1YsUKSNHbsWBUWFio/P19PPPGEbrnlFuXn52vdunVq0qSJcnJylJ+fr/z8fDmdTle4kaSTJ0+We/h45MiRmjFjhmbMmKHnnntOI0eOVHFxcRB+WgD8hYADIGD27dunESNGaMmSJbriiitc60tKSnT48GHNmzdPvXr10rJly1zP2hw+fFhLly6V3W7Xv//9b61evVoNGjSQJLVq1Uo7duxwhQ3DMOR0Oqus4fLLL1dKSopmz57tdpujR4/qwgsv1IMPPqhLL71Un332mTZs2OD6rFmzRhkZGTX8aQAIJgIOgIBp2bKlfvjhB/Xt21dS6e2oBQsWqHPnznrnnXc0fvx4TZkypdytn/z8fP3nP/9RXl6evvvuO23atEkXX3yxJOk3v/mNtmzZor/97W9atGiRMjIy9Mc//rHKGvLy8jRr1iw98sgjWr16daXb7N27V82aNdMTTzyhrKwsJScn6+mnn9bWrVv1z3/+U4WFhXrggQf89FMBEAwEHAABVa9ePdff165dW99++62mTZumcePGlXvtuqSkROvXr9fFF1+skSNHKiUlRdOmTVNBQYEuu+wyGYahRx99VBdddJFuv/12DRs2TI8//riWLVvm9txLly5Vq1atVFhYqOnTp2vgwIF67bXXym3jcDi0fft2denSRZIUFRWlBQsW6N5779Vzzz2nW2+9VUuWLNF5553n558MgEAi4AAIipKSEpWUlGjWrFm66aabJEnHjh2TYRiSpE8//VS9e/dWfn6+nnnmGQ0fPly7du2Sw+HQzz//rFWrVmnRokXq3r27Jk6cqJKSErfnOn78uN577z39+c9/1sSJE9W9e3eNGTNGzz77rP72t7+pW7du2rBhgyTptdde0x/+8AfVrVtXUukEf/v371fTpk01fvx4NWzYULt379Z//vMf/fLLL656AYQ2Ag6AoCh7TbvMH/7wB3311VdKTU1VixYtdN999+nxxx/XsWPH9NVXX2n06NGy2+165JFH1KZNG61Zs0br16/XyJEj9dxzz6mwsNDt8zcHDx5Ux44d9Z///EcPPPCAa6ToL3/5i2u05tJLL5VU+pbU2LFj9c4776hdu3bq1KmTlixZoqlTpyovL0/p6en64osvNGzYMDVu3Fhjx44N/A8LQI3ZDP44AsBiHA6HYmNjK7RwqErZG1hlDzRXpqioSGfOnCn3yjmA0ETAAQAAlsMtKgAAYDkEHAAAYDkEHAAAYDkEHAAAYDkEHAAAYDkEHAAAYDkEHAAAYDkEHAAAYDn/H9oAxNoGfDcFAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.colors import ListedColormap\n",
    "import numpy as np\n",
    "N,M=500,500\n",
    "t1=np.linspace(0,8,N)\n",
    "t2=np.linspace(0,3,M)\n",
    "x1,x2=np.meshgrid(t1,t2)\n",
    "x_new=np.stack((x1.flat,x2.flat),axis=1)\n",
    "y_predict=model.predict(x_new)\n",
    "y_hat=y_predict.reshape(x1.shape)\n",
    "iris_cmap=ListedColormap(['#ACC6C0','#FF9090','#A0A0FF'])\n",
    "plt.pcolormesh(x1,x2,y_hat,cmap=iris_cmap)\n",
    "plt.scatter(x[y==0,0],x[y==0,1],s=30,c='g',marker='^')\n",
    "plt.scatter(x[y==1,0],x[y==1,1],s=30,c='r',marker='o')\n",
    "plt.scatter(x[y==2,0],x[y==2,1],s=30,c='b',marker='s')\n",
    "plt.rcParams['font.sans-serif']='Simhei'\n",
    "plt.xlabel('花瓣长度')\n",
    "plt.ylabel('花瓣宽度')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7b08ba88-7006-4bd3-b9cd-46888aec5842",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
